		//c编辑器
		var cEditor = CodeMirror.fromTextArea(document.getElementById("c-code"), {
	        lineNumbers: true,
	        smartIndent:true,
	        matchBrackets: true,
	        indentUnit:4,
	        tabSize: 4,
	        extraKeys: {"Ctrl": "autocomplete"},//ctrl可以弹出选择项 
	        theme:'idea',
	        foldGutter: true,
   			lineWrapping: true,
   			gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
	        mode: "text/x-csrc"
      	});
      	//c++编辑器
      	var cppEditor = CodeMirror.fromTextArea(document.getElementById("cpp-code"), {
	        lineNumbers: true,
	        matchBrackets: true,
	        smartIndent:true,
	        indentUnit:4,
	        tabSize: 4,
	        extraKeys: {"Ctrl": "autocomplete"},//ctrl可以弹出选择项 
	        theme:'idea',
	        foldGutter: true,
   			lineWrapping: true,
   			gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter', 'CodeMirror-lint-markers'],
	        mode: "text/x-c++src"
      	});
      	//java编辑器
      	var javaEditor = CodeMirror.fromTextArea(document.getElementById("java-code"), {
	        lineNumbers: true,
	        smartIndent:true,
	        indentUnit:4,
	        tabSize: 4,
	        matchBrackets: true,
	        extraKeys: {"Ctrl": "autocomplete"},//ctrl可以弹出选择项
	        theme:'eclipse', 
	        foldGutter: true,
   			lineWrapping: true,
   			gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter', 'CodeMirror-lint-markers'],
	        mode: "text/x-java"
      	});
      	cEditor.setSize('auto','550px');
      	cppEditor.setSize('0','0');
      	javaEditor.setSize('0','0');

      	//切换代码语言
		$('#selectIDE').on('change',function(){
		    if($(this).val()=="c"){
		    	cEditor.setSize('auto','550px');
      			cppEditor.setSize('0','0');
      			javaEditor.setSize('0','0');
		    }else if($(this).val()=='cpp'){
		    	cEditor.setSize('0','0');
				cppEditor.setSize('auto','550px');
				javaEditor.setSize('0','0');
		    }else if($(this).val()=='java'){
		    	cEditor.setSize('0','0');
		    	cppEditor.setSize('0','0');
		    	javaEditor.setSize('auto','550px');
		    }
		});

		//实现textarea高度自适应
		var autoTextarea = function (elem, extra, maxHeight) {
        extra = extra || 0;
        var isFirefox = !!document.getBoxObjectFor || 'mozInnerScreenX' in window,
        isOpera = !!window.opera && !!window.opera.toString().indexOf('Opera'),
            addEvent = function (type, callback) {
            	elem.addEventListener ?
                    elem.addEventListener(type, callback, false) :
                    elem.attachEvent('on' + type, callback);
            },
       	    getStyle = elem.currentStyle ? function (name) {
                var val = elem.currentStyle[name];
                if (name === 'height' && val.search(/px/i) !== 1) {
                    var rect = elem.getBoundingClientRect();
                    return rect.bottom - rect.top -
                    	parseFloat(getStyle('paddingTop')) -
                        parseFloat(getStyle('paddingBottom')) + 'px';        
            	};
                return val;
            } : function (name) {
                    return getComputedStyle(elem, null)[name];
            },
            minHeight = parseFloat(getStyle('height'));
	        elem.style.resize = 'none';
	        var change = function () {
	                var scrollTop, height,
	                        padding = 0,
	                        style = elem.style;
	                if (elem._length === elem.value.length) return;
	                elem._length = elem.value.length;
	                if (!isFirefox && !isOpera) {
	                        padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom'));
	                };
	                scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
	                elem.style.height = minHeight + 'px';
	                if (elem.scrollHeight > minHeight) {
	                        if (maxHeight && elem.scrollHeight > maxHeight) {
	                                height = maxHeight - padding;
	                                style.overflowY = 'auto';
	                        } else {
	                                height = elem.scrollHeight - padding;
	                                style.overflowY = 'hidden';
	                        };
	                        style.height = height + extra + 'px';
	                        scrollTop += parseInt(style.height) - elem.currHeight;
	                        document.body.scrollTop = scrollTop;
	                        document.documentElement.scrollTop = scrollTop;
	                        elem.currHeight = parseInt(style.height);
	                };
	        };
	        addEvent('propertychange', change);
	        addEvent('input', change);
	        addEvent('focus', change);
	        change();
		};
		var text1 = document.getElementById("inputData");
		var text2 = document.getElementById("outputData");
        autoTextarea(text1);
        autoTextarea(text2);

        layui.use('layer', function() {
			var layer = layui.layer;
			var $ = layui.jquery;
			//表单验证
			$("#form").submit(function() {
				$("#cCode").val(cEditor.getValue());
				$("#cppCode").val(cppEditor.getValue());
				$("#javaCode").val(javaEditor.getValue());
				if(cEditor.getValue()==""||cppEditor.getValue()==""||javaEditor.getValue()==""){
					layer.msg('不能提交空代码', { icon: 2, time: 1000, shade: [0.6, '#000', true] });
					return false;
				}
				return true;
			});
		});